1. Field of the Invention
The present invention relates to the systems and methods for processing data, in particular, to a system and methods for improving the speed that data streams may be processed.
2. Description of Related Art
The term "data stream" or "stream" denotes the transfer of information from an information source to an information sink. The information typically spans or is contained in one or more messages commonly referred to as frames or packets.
Data streams are ubiquitous in computer systems. They exist between host processors and disk subsystems as well as other computer peripheral Input/Output systems. Data streams exist between computer systems by means of computer networks and communication systems. Data streams also exist within and between communication systems.
In the majority of cases, data within a stream is encapsulated together with additional data, called "control information" or "protocol information". This additional information serves to identify, "steer", or otherwise direct the flow of data as it is generated, transmitted or received, and processed. Protocol information is often defined by international standards such as the ISO/OSI protocol stack, CCITT recommendations for data communications and telephony, IEEE 802 standards for local area networking, and ANSI standards. Other examples include the TCP/IP protocol stack, defined by the U.S. Department of Defense, plus other military and commercial data processing standards such as the U.S. Navy SAFENET standard, the Xerox Corporation XNS protocol suite, the Sun Microsystems NFS protocol, and compression standards for HDTV and other video formats.
A computer program can implement and execute any protocol standard, in particular the ones previously mentioned. Operating systems usually include specialized software for several protocols. However, the execution of such software on a computer system consumes a percentage of its total processing capacity. This percentage can increase to precipitous, hence completely unacceptable levels, when the computer system is connected to a single very high-bandwidth data stream, or a sufficient number of lower-bandwidth data streams.
Since communication protocol processing has traditionally been performed by software programs executing on general commercial processors, there are no specialized devices and methods in the prior an suited to processing data streams.